// 配置多语言

// 导入 Vue 和 Vue-i18n
import Vue from 'vue'
import VueI18n from 'vue-i18n'

// 导入英文语言包
import enLocale from 'element-ui/lib/locale/lang/en'
// 导入中文语言包
import zhLocale from 'element-ui/lib/locale/lang/zh-CN'
// 导入 Element 提供的一个多语言配置插件
import ElementLocale from 'element-ui/lib/locale'

// 导入自定义的中文语言包
import customZh from './zh'
// 导入自定义的英文语言包
import customEn from './en'

// 将 VueI18n 挂载为 Vue 的插件
Vue.use(VueI18n)

// 开始对 VueI18n 进行实例化并进行配置
const i18n = new VueI18n({
  locale: 'zh', // 当前默认地域
  // 就是根据地域，加载对应语言包
  messages: {
    en: {
      ...enLocale,
      ...customEn
    },
    zh: {
      ...zhLocale,
      ...customZh
    }
  }
})

// 对 element 配置的多语言进行遍历
// 将对应的语言包，传递给 VueI18n
// 配置 Element 语言转换关系
// 说白了，就是 element 将自己的配置转换给 VueI18n 进行使用
ElementLocale.i18n((key, value) => i18n.t(key, value))

export default i18n
